package com.iot.ammeter.service.web.pay;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iot.ammeter.dto.web.pay.PayDetailDTO;
import com.iot.ammeter.query.web.pay.DegreeQuery;
import com.iot.ammeter.query.web.pay.PayQuery;

import java.math.BigDecimal;
import java.util.Map;

/**
 * @ClassName: PayService
 * @Author: Basil
 * @Date: 2022/1/6 上午9:28
 * @Version: 1.0
 * @Description: 充值管理服务类：充值明细列表，缴费明细列表
 **/
public interface PayService extends IService<PayDetailDTO> {
    /**
     * 获取缴费明细列表
     *
     * @param page     页码
     * @param pageSize 每页数量
     * @param payQuery 查询条件
     * @return 缴费明细列表集合
     */
    IPage<PayDetailDTO> payDetailList(int page, int pageSize, PayQuery payQuery);

    /**
     * 给app端用户充值
     *
     * @param appUserId      app用户id
     * @param rechargeAmount 充值金额
     * @return int
     */
    int rechargeForAppUser(String appUserId, BigDecimal rechargeAmount);

    /**
     * 查看电量详情
     *
     * @param degreeQuery 查询条件
     * @return
     */
    Map<String, Object> degreeDetails(DegreeQuery degreeQuery);
}
